The demand for wireless data services has increased dramatically in recent years and the increase is expected to continue for the foreseeable future. This increased demand has resulted in a need for more efficient methods of utilizing the limited wireless bandwidth that is available. Wireless data systems generally consist of a base unit communicating with multiple remote units using a forward channel and a reverse channel. The base unit transmits data to the remote units on the forward channel and the remote units transmit data to the base unit by time sharing the reverse channel. Access to the reverse channel is controlled through the use of a busy/idle flag transmitted by the base station so that a remote unit will not attempt to send a message when another remote unit is already accessing the channel. If a remote unit desires to send a message, it first checks the status of the busy/idle flag. If the flag is set to idle, then the remote unit transmits its message. If the flag is set to busy then the remote unit “backs off” or waits for a random number of time slots before checking the status flag again. Backing off a random number of slots rather than just trying at the immediately following slot somewhat reduces the possibility of multiple remote units beginning transmissions at the same time. When a remote unit transmits at the same time as another remote unit, a collision occurs and the transmission of both messages is unsuccessful. When a collision occurs, the base unit informs the remote units through the use of a decode flag. The base unit sets the decode flag to true to indicate that it has successfully received and decoded a transmission in a previous time slot or sets the flag to false if it detected a transmission but was unable to decode it. A remote unit that has sent a transmission checks the decode flag to determine if the transmission has been successfully received. When two or more remote units have transmitted at the same time the base unit will be unable to decode the transmission, the decode flag will be set to false, and the remote units will know that there has been a collision and that the transmissions must be retried at a later time. Additional description of this time sharing scheme can be found in U.S. patent application Ser. No. 09/148,315 entitled “Method and Apparatus For Controlling Access to a Communication Channel”, filed on Sep. 4, 1998, the contents of which are incorporated herein by reference.
However, this time sharing scheme has some shortcomings. Due to hardware and software latency, a delay period, generally called a collision interval, exists between when a remote unit starts accessing the reverse channel and when the other remote units detect that the base station has switched the busy/idle flag to busy. Problems arise when a second remote unit attempts to start accessing the channel during this delay period thus causing a collision and requiring both remote units to retransmit their respective messages. These collisions result in wasted bandwidth and can significantly reduce the efficiency of the wireless channel especially as the number of remote units sharing the channel increases. Additionally, there is a time lag between when the transmission from the remote unit ends and when the busy/idle flag is set to idle resulting in wasted bandwidth before another remote unit begins transmitting. This lag is called an inter-transmission gap. Both of these scenarios are described in detail as follows.
In order to implement a time sharing scheme the wireless channel is divided into timeslots. A remote unit may seize the channel and begin transmitting at the beginning of any timeslot when the remote unit has detected the busy/idle flag to be set to idle. However, depending on the size of the timeslot, the amount of time that the base unit requires to change the state of the busy/idle flag and the amount of time that the remote unit requires to decode the busy/idle flag received from the base unit, there is a time lag likely to be equivalent to several timeslots during which the busy/idle state flag that the remote unit is using to decide whether or not to seize the channel may not reflect the actual state of the wireless channel. As a result the remote unit may determine that the wireless channel is idle and attempt to seize the wireless channel when in fact it has already been seized by another remote unit during the delay. As illustrated in FIG. 1, the Base Unit (BU) has set the busy/idle flag to idle at slot 1 because no traffic is being sent on the reverse channel. A Remote Unit (RU) detects and decodes the flag, determines that the reverse channel is free and begins transmission of data in slot 3. Due to hardware latency, there is a lag of several slots before the BU detects the transmission and sets the flag to busy beginning with slot 9. After slot 9, any other RU that checks the flag will see that the reverse channel is busy and not begin transmitting; however between slots 1 and 8, any RU that checks the flag will begin transmitting having determined that the channel is idle when it is not because the busy/idle flag has falsely identified the channel as being available. A collision will result and both RUs will have to retransmit their messages later. The time frame between slots 1 and 8 is the collision interval.
As illustrated in FIG. 2, when the first RU (RU1) finishes transmitting on the reverse channel, there is a delay of several time slots while the BU detects that the transmission has ended and changes the busy/idle flag on the forward channel to idle. There is also a delay while a second RU (RU2) detects and decodes the flag before it can begin transmitting in the reverse channel. The time frame between slots 3 and 7 is the inter-transmission gap. During this time frame RU2 may have had data to transmit but refrained from transmitting because the flag falsely indicated that the reverse channel was busy. Therefore, in order to avoid a possible collision that did not in fact exist, RU2 did not transmit during that time frame and the bandwidth was wasted.
The present invention addresses both of these shortcomings.